#include<iostream>
#include<cassert>
using namespace std;
const int maxm = 100000+7;
int l[maxm], r[maxm], e[maxm], idx;
void init() {
  r[0] = 1, l[1] = 0;
  idx = 2;
}
void show() {
  for(int now = r[0]; now != 1; now = r[now]) {
    cout<<e[now]<<' ';
  }
  cout<<endl;
}
void L(int x) {
  e[idx] = x;
  l[idx] = 0;
  r[idx] = r[0];
  l[r[0]] = idx;
  r[0] = idx;
  idx++;
}
void R(int x) {
  e[idx] = x;
  r[idx] = 1;
  l[idx] = l[1];
  r[l[1]] = idx;
  l[1] = idx;
  idx++;
}
void D(int k) {
  r[l[k]] = r[k];
  l[r[k]] = l[k];
}
void IR(int k, int x) {
  e[idx] = x;
  l[idx] = k;
  r[idx] = r[k];
  l[r[idx]] = idx;
  r[k] = idx;
  idx++;
}
void IL(int k, int x) {
  IR(l[k], x);
}
int main() {
  init();
  int m; cin>>m;
  while(m--) {
    string op;
    int k, x;
    cin>>op;
    if("L"==op) {
      cin>>x;
      L(x);
    }
    else if ("R" == op) {
      cin>>x;
      R(x);
    }
    else if("D" == op) {
      cin>>k;
      D(k+1);
    }
    else if("IL" == op) {
      cin>>k>>x;
      IL(k+1, x);
    }
    else if("IR" == op) {
      cin>>k>>x;
      IR(k+1, x);
    }
    else {
      cout<<"OP is "<<op<<endl;
      assert(false);
    }
  }
  // for(int i=0; i<idx; ++i) {
  //   cout<<e[i]<<endl;
  // }
  show();
}
